move to new interface
authorSteve Klabnik <steve@steveklabnik.com>
Mon, 22 Sep 2014 16:52:41 +0000 (12:52 -0400)
committerSteve Klabnik <steve@steveklabnik.com>
Mon, 22 Sep 2014 16:52:41 +0000 (12:52 -0400)
src/cargo/core/package_id.rs
src/cargo/util/toml.rs

index 8070d7c3aeb187b05acd7634541c502dd0527af9..49ee9abc04ea9a407a3209e37bbb02d66f01cbc8 100644 (file)
@@ -24,9 +24,9 @@ impl ToVersion for semver::Version {
 
 impl<'a> ToVersion for &'a str {
     fn to_version(self) -> Result<semver::Version, String> {
-        match semver::parse(self) {
-            Some(v) => Ok(v),
-            None => Err(format!("cannot parse '{}' as a semver", self)),
+        match semver::Version::parse(self) {
+            Ok(v) => Ok(v),
+            Err(_) => Err(format!("cannot parse '{}' as a semver", self)),
         }
     }
 }
@@ -53,7 +53,7 @@ impl<E, D: Decoder<E>> Decodable<D, E> for PackageId {
         let captures = regex.captures(string.as_slice()).expect("invalid serialized PackageId");
 
         let name = captures.at(1);
-        let version = semver::parse(captures.at(2)).expect("invalid version");
+        let version = semver::Version::parse(captures.at(2)).ok().expect("invalid version");
         let source_id = SourceId::from_url(captures.at(3).to_string());
 
         Ok(PackageId {
index d0723b3711ce0111295cef3700a2005e7d8b02ae..0d8deaf52a8681ec92144455241782c4a745d6c6 100644 (file)
@@ -262,9 +262,9 @@ pub struct TomlVersion {
 impl<E, D: Decoder<E>> Decodable<D, E> for TomlVersion {
     fn decode(d: &mut D) -> Result<TomlVersion, E> {
         let s = raw_try!(d.read_str());
-        match semver::parse(s.as_slice()) {
-            Some(s) => Ok(TomlVersion { version: s }),
-            None => Err(d.error(format!("cannot parse '{}' as a semver",
+        match semver::Version::parse(s.as_slice()) {
+            Ok(s) => Ok(TomlVersion { version: s }),
+            Err(_) => Err(d.error(format!("cannot parse '{}' as a semver",
                                         s).as_slice())),
         }
     }